﻿$(document).ready(function() {
    //初始化所有的抢购计数器
    $(".buy_time").each(function(i) {
        var endTime = $(this).attr("endTime");    //结束时间
        $(this).clock(endTime, callback);         //倒计时

    });
    setInterval(getSystemTime, 1000);            //每5分钟请求获取服务器时间
});

//倒计时
$.fn.clock = function(endTime, callback) {
    this.each(function() {
        var _this = this,
            _time = {},
            _sysTime = '',
        getMS = function(s) {
            var t = getStrTime(s);
            return new Date(t.YY, t.MM - 1, t.DD, t.hh, t.mm, t.ss).getTime();
        },
        getRS = function() {
            if (_sysTime != sysTime) {
                _sysTime = sysTime;
                return getMS(endTime) - getMS(sysTime);
            } else {
                return _time.rs - 100;
            }
        },
        countDown = function() {
            _time.rs = getRS();
            if (_time.rs >= 0) {
                _time.dd = Math.floor(_time.rs / 1000 / 60 / 60 / 24);
                _time.hh = Math.floor(_time.rs / 1000 / 60 / 60 % 24);
                _time.mm = Math.floor(_time.rs / 1000 / 60 % 60);
                _time.ss = Math.floor(_time.rs / 1000 % 60);
                _time.ds = Math.floor(_time.rs / 100 % 10);
                //alert("dsd");


                //$(_this).find("#day1").html(_time.dd);
                //$(_this).find("#hour1").html(_time.dd);

                //alert($(_this).find("#day1").html());


                $(_this).find("b").eq(0).html(_time.dd);
                $(_this).find("b").eq(1).html(_time.hh);
                $(_this).find("b").eq(2).html(_time.mm);
                $(_this).find("b").eq(3).html(_time.ss + "." + _time.ds);
            }
            callback.call(_this, _time);
            if (_time.rs <= 0) {
                clearTimeout($(_this).data('clock_timer'));
            }
            else {
                $(_this).data('clock_timer', setTimeout(countDown, 100));
            }
        };
        clearTimeout($(_this).data('clock_timer'));
        countDown();
    });
};


function getStrTime(s) {
    if (s != "") {
        s = s.replace("/", "-");
        var a = s.split(' '),
        d = a[0].split('-'),
        t = a[1].split(':');
        return {
            YY: d[0],
            MM: d[1],
            DD: d[2],
            hh: t[0],
            mm: t[1],
            ss: t[2]
        };
    }
}
//请求服务器时间
function getSystemTime() {
    $.ajax({
        url: '/AjaxBehind/SysTimeHandler.ashx',
        type: "Post",
        dataType: "text",
        success: function(result) {
            sysTime = result;
        }
    });
}
//回调方法
function callback(time) {

    if (time.rs < 0) {
        //$(this).find(".dg_bt").val("已经结束").unbind();
        //alert($(this).find(".btn").val());
        $(this).find(".btn").hide();
        $(this).find(".msg").addClass("cxhd");
        $(this).find(".msg").html("<span color='red' class='cxhd'>活动已结束</span>");
    }
    else if (time.rs == 0) {
        //alert($(this).find(".btn").val());
        //$(this).find(".dg_bt").val("马上抢购").unbind().click(function() { alert("恭喜，成功抢购！") });
        $(this).find(".btn").hide();
        $(this).find(".msg").addClass("cxhd");
        $(this).find(".msg").html("<span color='red' class='cxhd'>活动已结束</span>");

    }
    //    else if (time.rs <= 30000) {
    //        $(this).find(".btn").val(time.ss + "." + time.ds + "秒");
    //    }
}